package it.traveldream.EJB.entities;

import java.io.Serializable;
import javax.persistence.*;
import java.util.List;


/**
 * The persistent class for the citta database table.
 * 
 */
@Entity
@NamedQuery(name="Citta.findAll", query="SELECT c FROM Citta c")
public class Citta implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	private int id;

	private String district;

	private String name;

	private int population;

	//bi-directional many-to-one association to Alloggi
	@OneToMany(mappedBy="citta")
	private List<Alloggi> alloggis;

	//bi-directional many-to-one association to Stati
	@ManyToOne
	@JoinColumn(name="CountryCode")
	private Stati stati;

	//bi-directional many-to-one association to Escursioni
	@OneToMany(mappedBy="citta")
	private List<Escursioni> escursionis;

	//bi-directional many-to-one association to TrasportiSingoli
	@OneToMany(mappedBy="citta1")
	private List<TrasportiSingoli> trasportiSingolis1;

	//bi-directional many-to-one association to TrasportiSingoli
	@OneToMany(mappedBy="citta2")
	private List<TrasportiSingoli> trasportiSingolis2;

	public Citta() {
	}

	public int getId() {
		return this.id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getDistrict() {
		return this.district;
	}

	public void setDistrict(String district) {
		this.district = district;
	}

	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getPopulation() {
		return this.population;
	}

	public void setPopulation(int population) {
		this.population = population;
	}

	public List<Alloggi> getAlloggis() {
		return this.alloggis;
	}

	public void setAlloggis(List<Alloggi> alloggis) {
		this.alloggis = alloggis;
	}

	public Alloggi addAlloggi(Alloggi alloggi) {
		getAlloggis().add(alloggi);
		alloggi.setCitta(this);

		return alloggi;
	}

	public Alloggi removeAlloggi(Alloggi alloggi) {
		getAlloggis().remove(alloggi);
		alloggi.setCitta(null);

		return alloggi;
	}

	public Stati getStati() {
		return this.stati;
	}

	public void setStati(Stati stati) {
		this.stati = stati;
	}

	public List<Escursioni> getEscursionis() {
		return this.escursionis;
	}

	public void setEscursionis(List<Escursioni> escursionis) {
		this.escursionis = escursionis;
	}

	public Escursioni addEscursioni(Escursioni escursioni) {
		getEscursionis().add(escursioni);
		escursioni.setCitta(this);

		return escursioni;
	}

	public Escursioni removeEscursioni(Escursioni escursioni) {
		getEscursionis().remove(escursioni);
		escursioni.setCitta(null);

		return escursioni;
	}

	public List<TrasportiSingoli> getTrasportiSingolis1() {
		return this.trasportiSingolis1;
	}

	public void setTrasportiSingolis1(List<TrasportiSingoli> trasportiSingolis1) {
		this.trasportiSingolis1 = trasportiSingolis1;
	}

	public TrasportiSingoli addTrasportiSingolis1(TrasportiSingoli trasportiSingolis1) {
		getTrasportiSingolis1().add(trasportiSingolis1);
		trasportiSingolis1.setCitta1(this);

		return trasportiSingolis1;
	}

	public TrasportiSingoli removeTrasportiSingolis1(TrasportiSingoli trasportiSingolis1) {
		getTrasportiSingolis1().remove(trasportiSingolis1);
		trasportiSingolis1.setCitta1(null);

		return trasportiSingolis1;
	}

	public List<TrasportiSingoli> getTrasportiSingolis2() {
		return this.trasportiSingolis2;
	}

	public void setTrasportiSingolis2(List<TrasportiSingoli> trasportiSingolis2) {
		this.trasportiSingolis2 = trasportiSingolis2;
	}

	public TrasportiSingoli addTrasportiSingolis2(TrasportiSingoli trasportiSingolis2) {
		getTrasportiSingolis2().add(trasportiSingolis2);
		trasportiSingolis2.setCitta2(this);

		return trasportiSingolis2;
	}

	public TrasportiSingoli removeTrasportiSingolis2(TrasportiSingoli trasportiSingolis2) {
		getTrasportiSingolis2().remove(trasportiSingolis2);
		trasportiSingolis2.setCitta2(null);

		return trasportiSingolis2;
	}

}